import { IPSDEDataImportItem } from './ipsdedata-import-item';
import { IPSSysPFPlugin } from '../../res/ipssys-pfplugin';
import { IPSModelObject } from '../../ipsmodel-object';

/**
 *
 * @export
 * @interface IPSDEDataImport
 */
export interface IPSDEDataImport extends IPSModelObject {
  /**
   * 批导入数量
   * @type {number}
   */
  batchSize: number;

  /**
   * 代码标识
   * @type {string}
   */
  codeName: string;

  /**
   * 建立操作标识
   * @type {string}
   */
  createDataAccessAction: string;

  /**
   * 导入标记
   * @type {string}
   */
  impTag: string;

  /**
   * 导入标记2
   * @type {string}
   */
  impTag2: string;

  /**
   * 导入项集合
   *
   * @type {IPSDEDataImportItem[]}
   */
  getPSDEDataImportItems(): IPSDEDataImportItem[] | null;

  findPSDEDataImportItem(objKey: any): IPSDEDataImportItem | null;

  /**
   * 前端扩展插件
   *
   * @type {IPSSysPFPlugin}
   */
  getPSSysPFPlugin(): IPSSysPFPlugin | null;

  /**
   * 更新操作标识
   * @type {string}
   */
  updateDataAccessAction: string;

  /**
   * 默认导入
   * @type {boolean}
   * @default false
   */
  defaultMode: boolean;

  /**
   * 支持后台执行
   * @type {boolean}
   */
  enableBackend: boolean;

  /**
   * 支持自定义
   * @type {boolean}
   * @default false
   */
  enableCustomized: boolean;

  /**
   * 支持前台执行
   * @type {boolean}
   */
  enableFront: boolean;

  /**
   * 忽略导入错误
   * @type {boolean}
   */
  ignoreError: boolean;

  /**
   * 启用
   * @type {boolean}
   * @default true
   */
  valid: boolean;
}
